package test14;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class TrueOrFalse {
    public static void main(String[] args) {
//        byte a=127;       //byte是字节类型，长度是-2^7 ~ 2^7-1
//
//        char b= '学';     //char是字符类型，长度是两个字节
//
//        short c=4532;    //short是短型整数型，长度是-2^15 ~ 2^15-1
//
//        int d=8888;      //int是普通整型，长度是-2^31 ~ 2^31-1
//
//        byte a3 = (byte) d;
//        char b3 = (char) d;
//        short c3=(short) d;
//
//        System.out.println("a3= "+a3+"   b3= "+b3+"   c3= "+c3);


//
//        byte a1=-129;
//        byte a2=128;       //长度是-2^7 ~ 2^7-1，换算为十进制就是-128~127
//
//        char b1=''
//        char b2= '学java';     //长度是两个字节，超出范围就会报错
//
//        short c1=-32769;
//        short c2=32768;    //长度是-2^15 ~ 2^15-1，换算为十进制就是-32768~32767
//
//        int d1=-2147483649;
//        int d2=2147483648;      //长度是-2^31 ~ 2^31-1，换算为十进制就是-2147483648~2147483647
//
//
//
//        int d3 = a2;       //等于128
//            d3 = b2;       //我也不知道字符'学java'会等于啥
//            d3 = c2;       //等于32768
//
//
//
//
//
//
////      浮点型
//
//        float e=127;              //float是单精度浮点类型，长度是4个字节
//
//        double f= 455333.34;     //double是双精度浮点类型，长度是8个字节
//
//        boolean g=true;          //boolean是布尔类型，只有true和false，表示真和假
//
//
//        f=g1;                     //不同类型不可以做赋值运算
//
//
////        9223372036854776000
//

//
//String s1 = "我爱家乡";     //String类型 s1 初始值为 "我爱家乡"
//String s2 = "我爱祖国";     //String类型 s2 初始值为 "我爱家乡"
//String s3 = s2;           //String类型 s3 等于 s2
//
//System.out.println(s1);
//System.out.println(s2);
//System.out.println(s3);
//
//s2 = "爱国爱党爱人民";       //将s2的值改变，然后重新打印三个变量的值
//System.out.println();
//System.out.println(s1);
//System.out.println(s2);
//System.out.println(s3);

//        System.out.println("-------------------------------------");
//
//
//
//int num1 = 10;         //int类型 num1 初始值为 10
//int num2 = num1;       //int类型 num2 等于 num1
//
//num2 = 100;            //将num2的值改为100，然后打印俩个变量的值
//
//System.out.println(num1+"\n"+num2);










































//        //各种或于非
//        boolean a = 1>2; //false
//        boolean b= 1<2;  //true
//        System.out.println(a|b);   //有一为真，则为真
//        System.out.println(a&b);   //有一为假，则为假
//        System.out.println(a^b);   //两个一样则为假，一正一反就为真
//        System.out.println(b&&a);  //短路&，左边为false，右边则不运行
//        System.out.println(a||a);  //短路|，左边为true，右边则不运行
//
//
//        //输入5个员工编号给数组，自动打乱员工顺序用来表演用
////        int arr[]=new int[5];
////        Scanner scanner = new Scanner(System.in);
////        for (int i = 0; i < 5; i++) {
////            arr[i]=scanner.nextInt();
////        }
////        System.out.println(Arrays.toString(arr));
////
////        Random random = new Random();
////
////        int temp=0,index;
////
////        for (int i = 0; i < arr.length; i++) {
////            index = random.nextInt(arr.length);
////            temp=arr[0];
////            arr[0]=arr[index];
////            arr[index]=temp;
////
////        }
////        System.out.println(Arrays.toString(arr));
//
//
//        //实验引用疑问

//给整型数组arr1赋值，数组arr2=arr1
int[] arr1 = {34,32,54,22};
int[] arr2 = arr1;

//打印两个数组的第2个数
System.out.println(arr1[1]);
System.out.println(arr2[1]);
//调用Arrays类定义好的方法来输出整个数组
System.out.println(Arrays.toString(arr1));
System.out.println(Arrays.toString(arr2));

//更改arr2的第二个数
arr2[1] = 88;

// 打印两个数组的第2个数，发现arr1也被改了
//总结：引用类的变量改一个就会动所有引用
System.out.println(arr1[1]);
System.out.println(arr2[1]);

    }


}

